Strings Bank
-
The strings bank is a special bank which contains the string lookup of event path to GUID. The strings bank functions identically to a normal bank, except that it never contains sample data or streaming sample data.
Master Bank
-
Master banks contain the global mixer and are required for creating instances of events, regardless of which bank the event's metadata and sample data exist in. At least one master bank should remain loaded at all times.
-
Contains event metadata and references to sample assets.
Using
-
When a bank is fully loaded, all metadata in that bank can be accessed. This means that event descriptions can be found with Studio::System::getEvent, and instances created from those descriptions.
-
The bank loading state can be queried with Studio::Bank::getLoadingState.
-
System_LoadBankFile(... Master.strings.bank ...)β loads the string bank. The.strings.bankcontains the runtime string table that maps human-readable paths like"event:/Snow_Footsteps"to the event GUIDs.System_GetEvent(system, "event:/...")resolves by path, so the path lookup needs that string table available; if the strings bank is not loaded, path lookup fails (or returns an invalid EVENTDESCRIPTION). Thatβs why load.strings.bankbefore attemptingSystem_GetEventby name.-
If you want to avoid loading
.strings.bankat runtime, you can resolve events by GUID instead of by path (look up GUID at build time and call the Get-by-ID function). But using paths requires.strings.bank.
-
-
System_LoadBankFile(... Master.bank ...)β loads the main bank containing event metadata and references to sample data. This is required to create instances of events. -
If you start playback before samples are ready, playback may fail or be silent.
FlushSampleLoadingis the usual way to wait; you can also poll bank loading state if you want non-blocking startup. -
System_Updatemust be called regularly (once per frame / tick). FMOD Studio needs that to process the audio graph, update 3D, DSP, etc. -
You only need
Bank_LoadSampleData/Bank_UnloadSampleDatafor banks that contain sample data (audio).-
Master.strings.bankholds only the string table (path β GUID) so loading/unloading sample data for it is unnecessary.
-
-
System_FlushSampleLoadingis a system-wide wait for all async sample loads to finish; use it after queuingBank_LoadSampleDatawhen you need the audio ready immediately.